#include <stdio.h>
#include <stdbool.h>
// int main()
// {
//     char arr[] = " i   am   good  student. ";
//     // int num = sizeof(arr) / sizeof(arr[0]);
//     int j = 0;     // 结果字符串的索引
//     char prev = 0; // 存储前一个字符

//     for (int i = 0; arr[i] != '\0'; i++)
//     {
//         if (arr[i] != ' ') // 处理非空格字符
//         {
//             arr[j] = arr[i]; // 复制当前字符
//             prev = arr[i];   // 更新前一个字符
//             j++;             // 更新结果字符串的索引
//         }
//         else if (j > 0 && prev != ' ') // 处理空格
//         {
//             arr[j] = ' '; // 复制一个空格
//             prev = ' ';   // 更新前一个字符为空格
//             j++;          // 更新结果字符串的索引
//         }
//         arr[j] = '\0'; // 结束字符串
//     }
//     printf("去掉多余空格后的字符串:'%s'\n", arr);
//     return 0;
// }

// int main()
// {
//     char arr[10]="auytre";
//     char aet=arr[0]+2;
//     char *P=arr;
//     printf("%c\n",*(P+1));
//     return 0;
// }

int main()
{
    char arr[10] = "auytre"; // 初始化字符数组
    int i = 0;               // 用于遍历数组的索引

    // 遍历数组，直到遇到字符串结束符 '\0'
    while (arr[i] != '\0')
    {
        // 检查当前字符是否是 'y'
        if (arr[i] == 'y')
        {
            // 如果找到 'y'，从当前位置开始，向前移动后面的字符
            int j = i; // j 用于指向当前 'y' 的位置
            while (arr[j] != '\0')
            {
                // 将下一个字符覆盖当前字符
                arr[j] = arr[j + 1];
                j++; // 移动到下一个字符
            }
            // 此时 'y' 被覆盖了，不需要增加 i，因为需要检查新的当前字符
        }
        else
        {
            // 如果当前字符不是 'y'，移动到下一个字符
            i++;
        }
    }

    // 打印修改后的数组
    printf("Modified array: %s\n", arr);

    return 0; // 结束程序
}
